; Music of Robbbot (1986) (Ere Informatique) (Philippe Ulrich)
; Ripped by Megachur the 05/02/2009

; Need System Vectors

	write "ROBBBOT.BIN"

music_date_rip	equ &0529
music_adr	equ &4000
first_theme	equ 0
last_theme	equ 0	; 0 -> 0

	read "music_header_v1_0.asm"

;
.play_music
.l3867
;
	ld a,#04
	call #bcad
	cp #81
	jr z,l389a
	ld hl,(la669)
	ld ix,la29d
	ld a,(hl)
	ld (ix+#07),a
	inc hl
	ld a,(hl)
	ld (ix+#08),a
	inc hl
	ld a,(hl)
	ld (ix+#05),a
	inc hl
	ld de,la2fe
	call l800c
	jr nz,l3891
	ld hl,la2bc
.l3891
	ld (la669),hl
	push ix
	pop hl
	call #bcaa
.l389a
	ld a,#02
	call #bcad
	cp #81
	jr z,l38e4
	ld a,(la66f)
	or a
	jr nz,l38e4
	ld hl,(la66b)
	ld ix,la2a6
	ld e,(hl)
	inc hl
	ld a,(hl)
	or e
	jr nz,l38bc
	ld a,#0c
	ld c,#01
	jr l38c3
.l38bc
	ld a,(la2b9)
	ld c,a
	ld a,(la2b8)
.l38c3
	ld (ix+#01),a
	ld (ix+#02),c
	ld (ix+#03),e
	ld a,(hl)
	ld (ix+#04),a
	inc hl
	ld a,(hl)
	ld (ix+#07),a
	inc hl
	ld a,(hl)
	ld (ix+#08),a
	inc hl
	ld (la66b),hl
	push ix
	pop hl
	call #bcaa
.l38e4
	ld a,#01
	call #bcad
	cp #81
	jr z,l391f
	ld a,(la66f)
	or a
	jr nz,l391f
	ld hl,(la66d)
	ld ix,la2af
	ld e,(hl)
	inc hl
	ld a,(hl)
	or e
	ld a,#0c
	ld d,#00
	jr z,l3908
	ld a,#0d
	ld d,#06
.l3908
	ld (ix+#01),a
	ld (ix+#02),d
	ld (ix+#03),e
	ld a,(hl)
	ld (ix+#04),a
	inc hl
	ld (la66d),hl
	push ix
	pop hl
	call #bcaa
.l391f
	ld hl,(la66b)
	ld de,la4fe
	call l800c
	jr nz,l3972
	ld a,#02
	call #bcad
	cp #04
	jr nz,l396d
	ld a,#01
	call #bcad
	cp #04
	jr nz,l396d
	ld hl,la2fe
	ld (la66b),hl
	ld hl,la4fe
	ld (la66d),hl
	xor a
	ld (la66f),a
	ld hl,la2bc
	ld (la669),hl
	ld a,#41
	ld (la2af),a
	inc a
	ld (la2a6),a
	ld a,#44
	ld (la29d),a
	call #bca7
	ld b,#05
.l3965
	push bc
	call l3867
	pop bc
	djnz l3965
	ret
.l396d
	ld a,#01
	ld (la66f),a
.l3972
	ld a,(la2af)
	cp #41
	ret nz
	ld a,#01
	ld (la2af),a
	inc a
	ld (la2a6),a
	ld a,#04
	ld (la29d),a
	ld a,#07
	call #bcb3
	ret
;
.real_init_music
;
	xor a
	ld (la66f),a
	call #bca7
	ld hl,la2fe
	ld (la66b),hl
	ld hl,la2bc
	ld (la669),hl
	ld hl,la4fe
	ld (la66d),hl
	ld a,#41
	ld (la2af),a
	inc a
	ld (la2a6),a
	ld a,#44
	ld (la29d),a
	ld hl,la2ba
	ld a,(hl)
	ld (la2b6),a
	inc hl
	ld a,(hl)
	ld (la2b7),a
	call #bca7
	ld hl,la1a2
	ld b,#08
.l39c7
	push bc
	ld a,(hl)
	inc hl
	push hl
	call #bcbc
	pop hl
.l39cf
	ld a,(hl)
	cp #80
	inc hl
	jr nz,l39cf
	pop bc
	djnz l39c7
	ld hl,la232
	ld b,#06
.l39dd
	push bc
	ld a,(hl)
	inc hl
	push hl
	call #bcbf
	pop hl
.l39e5
	ld a,(hl)
	cp #80
	inc hl
	jr nz,l39e5
	pop bc
	djnz l39dd
	ret
	
;&a1a2
.la1a2
	db #0b,#02,#01,#0d,#01,#0d
	db #ff,#01,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#80,#0c,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#80,#0d,#04
	db #01,#0e,#04,#07,#fe,#01,#01,#09
	db #02,#09,#ff,#00,#00,#00,#00,#80
	db #01,#02,#01,#0e,#01,#0c,#ff,#02
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#80,#02,#01,#10,#ff,#07,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#80,#03,#01,#10,#ff
	db #03,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#80,#04,#01
	db #04,#fc,#18,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#80
	db #05,#03,#05,#03,#01,#01,#00,#14
	db #0f,#ff,#02,#00,#00,#00,#00,#00
.la232 equ $ + 2
	db #00,#80,#01,#82,#01,#00,#0f,#01
	db #ff,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#80,#02,#82,#01,#05,#05
	db #01,#fb,#05,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#80,#03,#83,#01
	db #02,#01,#01,#fc,#01,#01,#02,#01
	db #00,#00,#00,#00,#00,#00,#80,#04
	db #83,#02,#01,#01,#04,#ff,#01,#02
	db #01,#01,#00,#00,#00,#00,#00,#00
	db #80,#05,#82,#04,#01,#03,#04,#ff
	db #03,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#80,#06,#01,#00,#00,#01
	db #00,#00,#00,#00,#00,#00,#00,#00
.la29d equ $ + 5
	db #00,#00,#00,#00,#80,#44,#0b,#00
.la2a6 equ $ + 6
	db #00,#00,#00,#00,#00,#00,#42,#0c
.la2af equ $ + 7
	db #01,#00,#00,#00,#00,#00,#00,#41
.la2b7 equ $ + 7
.la2b6 equ $ + 6
	db #0c,#00,#00,#00,#00,#00,#00,#00
.la2bc equ $ + 4
.la2ba equ $ + 2
.la2b9 equ $ + 1
.la2b8
	db #01,#01,#14,#00,#28,#00,#14,#28
	db #00,#02,#28,#00,#14,#14,#00,#02
	db #14,#00,#02,#28,#00,#14,#28,#00
	db #02,#28,#00,#14,#14,#00,#02,#14
	db #00,#02
	db #28,#00,#14,#28,#00,#02,#28,#00
	db #14,#14,#00,#02,#14,#00,#02,#28
	db #00,#14,#28,#00,#02,#28,#00,#14
	db #0a,#00,#02,#0a,#00,#02,#0a,#00
.la2fe equ $ + 4
	db #02,#0a,#00,#02,#de,#01,#14,#00
	db #7c,#01,#14,#00,#3e,#01,#14,#00
	db #de,#01,#14,#00,#00,#00,#14,#00
	db #de,#01,#14,#00,#3e,#01,#14,#00
	db #00,#00,#14,#00,#1c,#01,#14,#00
	db #de,#01,#14,#00,#7c,#01,#14,#00
	db #1c,#01,#14,#00,#00,#00,#14,#00
	db #1c,#01,#14,#00,#7c,#01,#14,#00
	db #00,#00,#14,#00,#7c,#01,#14,#00
	db #3e,#01,#14,#00,#fe,#00,#14,#00
	db #7c,#01,#14,#00,#00,#00,#14,#00
	db #7c,#01,#14,#00,#fe,#00,#14,#00
	db #00,#00,#14,#00,#7c,#01,#14,#00
	db #3e,#01,#14,#00,#fe,#00,#14,#00
	db #7c,#01,#14,#00,#00,#00,#14,#00
	db #7c,#01,#14,#00,#fe,#00,#14,#00
	db #00,#00,#14,#00,#de,#01,#14,#00
	db #7c,#01,#14,#00,#3e,#01,#14,#00
	db #de,#01,#14,#00,#00,#00,#14,#00
	db #de,#01,#14,#00,#3e,#01,#14,#00
	db #00,#00,#14,#00,#1c,#01,#14,#00
	db #de,#01,#14,#00,#7c,#01,#14,#00
	db #1c,#01,#14,#00,#00,#00,#14,#00
	db #1c,#01,#14,#00,#7c,#01,#14,#00
	db #00,#00,#14,#00,#7c,#01,#14,#00
	db #3e,#01,#14,#00,#fe,#00,#14,#00
	db #7c,#01,#14,#00,#00,#00,#14,#00
	db #7c,#01,#14,#00,#fe,#00,#14,#00
	db #00,#00,#14,#00,#7c,#01,#14,#00
	db #3e,#01,#14,#00,#fe,#00,#14,#00
	db #7c,#01,#14,#00,#00,#00,#14,#00
	db #7c,#01,#14,#00,#fe,#00,#14,#00
	db #00,#00,#14,#00,#aa,#01,#14,#00
	db #00,#00,#14,#00,#aa,#01,#14,#00
	db #66,#01,#14,#00,#1c,#01,#14,#00
	db #66,#01,#14,#00,#1c,#01,#14,#00
	db #00,#00,#14,#00,#1c,#01,#14,#00
	db #00,#00,#14,#00,#1c,#01,#14,#00
	db #de,#01,#14,#00,#7c,#01,#14,#00
	db #de,#01,#14,#00,#7c,#01,#14,#00
	db #00,#00,#14,#00,#7c,#01,#14,#00
	db #00,#00,#14,#00,#7c,#01,#14,#00
	db #3e,#01,#14,#00,#fe,#00,#14,#00
	db #3e,#01,#14,#00,#fe,#00,#14,#00
	db #00,#00,#14,#00,#aa,#01,#14,#00
	db #00,#00,#14,#00,#aa,#01,#14,#00
	db #52,#01,#14,#00,#1c,#01,#14,#00
	db #52,#01,#14,#00,#1c,#01,#14,#00
	db #00,#00,#14,#00,#aa,#01,#14,#00
	db #00,#00,#14,#00,#aa,#01,#14,#00
	db #66,#01,#14,#00,#1c,#01,#14,#00
	db #66,#01,#14,#00,#1c,#01,#14,#00
	db #00,#00,#14,#00,#1c,#01,#14,#00
	db #00,#00,#14,#00,#1c,#01,#14,#00
	db #ee,#00,#14,#00,#be,#00,#14,#00
	db #ee,#00,#14,#00,#be,#00,#14,#00
	db #00,#00,#14,#00,#be,#00,#14,#00
	db #00,#00,#14,#00,#be,#00,#14,#00
	db #a0,#00,#14,#00,#7e,#00,#14,#00
	db #a0,#00,#14,#00,#7e,#00,#14,#00
	db #00,#00,#14,#00,#aa,#01,#14,#00
	db #00,#00,#14,#00,#aa,#01,#14,#00
	db #52,#01,#14,#00,#1c,#01,#14,#00
	db #52,#01,#14,#00,#1c,#01,#14,#00
.la4fe equ $ + 4
	db #00,#00,#14,#00,#ef,#00,#00,#00
	db #ef,#00,#9f,#00,#ef,#00,#9f,#00
	db #ef,#00,#9f,#00,#8e,#00,#00,#00
	db #8e,#00,#5f,#00,#8e,#00,#5f,#00
	db #8e,#00,#5f,#00,#be,#00,#00,#00
	db #be,#00,#7f,#00,#be,#00,#7f,#00
	db #be,#00,#7f,#00,#be,#00,#00,#00
	db #be,#00,#7f,#00,#be,#00,#7f,#00
	db #be,#00,#7f,#00,#a0,#00,#78,#00
	db #ee,#00,#be,#00,#a0,#00,#3e,#01
	db #7c,#01,#de,#01,#8e,#00,#5e,#00
	db #a0,#00,#8e,#00,#78,#00,#be,#00
	db #ee,#00,#1c,#01,#be,#00,#7e,#00
	db #d4,#00,#be,#00,#a0,#00,#fe,#00
	db #3e,#01,#7c,#01,#be,#00,#7e,#00
	db #d4,#00,#be,#00,#a0,#00,#fe,#00
	db #3e,#01,#7c,#01,#d5,#00,#8e,#00
	db #d5,#00,#77,#00,#d5,#00,#6a,#00
	db #6a,#00,#6a,#00,#8e,#00,#5f,#00
	db #8e,#00,#50,#00,#8e,#00,#47,#00
	db #47,#00,#47,#00,#be,#00,#7f,#00
	db #be,#00,#6a,#00,#be,#00,#5f,#00
	db #5f,#00,#5f,#00,#d5,#00,#8e,#00
	db #d5,#00,#6a,#00,#d5,#00,#54,#00
	db #47,#00,#47,#00,#d5,#00,#8e,#00
	db #d5,#00,#77,#00,#d5,#00,#6a,#00
	db #6a,#00,#6a,#00,#8e,#00,#5f,#00
	db #8e,#00,#50,#00,#8e,#00,#47,#00
	db #47,#00,#47,#00,#be,#00,#7f,#00
	db #be,#00,#6a,#00,#be,#00,#5f,#00
	db #5f,#00,#5f,#00,#d5,#00,#8e,#00
	db #d5,#00,#6a,#00,#d5,#00,#54,#00
	db #47,#00,#47,#00,#00,#00,#40,#c0
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#ff,#ff,#ff,#ff,#ff,#ff,#ff
	db #ff,#ff,#ff,#00,#00,#ca,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#12,#00,#00,#40,#00,#00,#00
	db #d6,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#12,#00
	db #00,#00,#00,#00,#00,#81,#00
	
	defs 1,0
	
.la66f equ $ +6
.la66d equ $ +4
.la66b equ $ +2
.la669
	dw #0000,#0000,#0000
	db #00
	
.l800c
;#87c2
	ld a,h
	sub d
	ret nz
	ld a,l
	sub e
	ret
;
.init_music	; added by Megachur
;
	call real_init_music
	ld hl,evt_bloc
	ld bc,#8100
	ld de,play_music
	jp #bcd7	; call play_music every CRT interrupt
evt_bloc
	db #00,#00,#00,#00,#00,#00
	db #00,#00,#00
;
.game_name
	db "Robbbot",0
.game_year
	db "1986",0
.game_publisher
	db "Ere Informatique",0
.music_author
	db "Philippe Ulrich",0
.music_comment
	db "",0

	read "music_end_v1_0.asm"
